Python学习笔记 (1) |
您所在的位置:网站首页 › python 数学模型 › Python学习笔记 (1) |
这学期选了数学建模课,因为上学期学了MATLAB,这学期尝试使用Python完成数学建模。 Python的基本语法其实很简单,这里推荐菜鸟教程https://www.runoob.com/python/python-basic-syntax.html和廖雪峰的python教程https://www.liaoxuefeng.com/wiki/1016959663602400 python的强大在于他的各种包,难也难在各种包。要想熟练使用各种包中的各种函数还是有一定难度的,有时候不知道为什么就掉坑里了。
昨天用python写了如下几个问题: 1. 建立M-文件: 已知函数 计算f (-1), f (0.5), f (1.5),并作出该函数的曲线图。 2. 编写利用顺序Guass 消去法求方程组解的M-函数文件,并计算方程组 的解 3. 编写“商人们安全过河”的Matlab 程序 4. 编写“人口预报问题”的Matlab 程序 上面的matlab都换成python 1. 第一个问题比较基础,写的时候只遇到了一个小问题。 1 import numpy as np 2 import matplotlib.pyplot as plt 3 def myfunc(x): 4 if 0 > x >= -1: 5 return x+1 6 elif 1 > x >= 0: 7 return 1 8 elif 2 > x >= 1: 9 return x**2 10 11 x = np.linspace(-1, 2, 300) 12 y = np.array([myfunc(t) for t in x]) 13 14 y1 = myfunc(-1) 15 y2 = myfunc(0.5) 16 y3 = myfunc(1.5) 17 print("f(-1) = %.2f f(0.5) = %.2f f(1.5) = %.2f" %(y1, y2, y3)) 18 plt.figure() 19 plt.plot(x, y) 20 plt.show()print函数的格式化输出!我看教程的时候觉得和C语言一样的就直接略过了,结果自己写的时候才发现python的格式化输出是有一些不同的,主要就是后面变量的表示用%和前面的字符串分割而不是C语言中的 , 另一种格式化字符串的方法是使用字符串的format()方法,它会用传入的参数依次替换字符串内的占位符{0}、{1}……,不过这种方式写起来比%要麻烦得多: 1 'Hello, {0}, 成绩提升了 {1:.1f}%'.format('小明', 17.125) 2 'Hello, 小明, 成绩提升了 17.1%'2. 高斯消元法 ![]() ![]() 这里借鉴了一下网上的代码。主函数是全部自己写的。遇到的问题是:for循环的范围问题。 这里要强调两点 1)range(n,m)表示的是n到m-1(包括)的数,默认步长为1,可以在n,m中间加入参数自定义步长。 2) np.matrix定义的矩阵,行号和列号是从0开始的;python自带的list,索引也是从0开始的。 把握好这两点就可以避免掉坑里
3. 商人过河问题 1 #允许状态集合,例num=3 2 #S={(x,y)|x=0,y=0,1,2,3;x=3,y=0,1,2,3;x=y=1,2} x是此岸的商人数,y是此岸的仆人数 3 #允许决策集合,例boat_limit=2 4 #D={(u,v)|1 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |